package com.key.service;

import com.key.common.R;
import com.key.common.dto.AssetsAddDTO;
import com.key.common.dto.AssetsFindDTO;
import com.key.common.vo.AssetsVO;
import com.key.entity.Assets;

import java.util.List;
import java.util.Map;

/**
 * @author wei
 * @create 2023-02-20 9:06
 */
public interface AssetsService {
    /**
     * 查询资产表，含高级查询
     * @param assetsFindDTO
     * @return
     */
    Map<String, Object> findAssetsList(AssetsFindDTO assetsFindDTO);

    /**
     * 依据资产类和状态别查询资产
     * @author tc
     * @param assetTypeName
     * @return
     */
    R findAssetsListByAssetClassAndAssetsState(String assetTypeName);

    /**
     * 根据资产id删除资产，删除成功返回true
     * @param assetsIds
     * @return
     */
    boolean removeAssets(List<Long> assetsIds);

    /**
     * 修改资产，不能批量修改
     * @param assets
     * @return
     */
    boolean editAssets(Assets assets);

    /**
     * 新建资产
     * @param assets
     * @return
     */
    boolean addAssets(Assets assets);

    /**
     * 复制资产
     * @param assetsId
     * @param number
     * @return
     */
    boolean copyAssets(Long assetsId, Integer number);

    /**
     * @param assetsFindDTO
     * 获取资产总数
     * @return
     */
    Integer getAssetsCount(AssetsFindDTO assetsFindDTO);
}
